home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Acorn User 3
/
AUCD3.iso
/
airport
/
browsers
/
acornet
/
archive
/
archive897
/
000110_owner-acornet@…s.barnet.ac.uk _Fri Aug 22 12:00:51 1997.msg
< prev
next >
Wrap
Internet Message Format
|
1997-08-28
|
3KB
Received: (from majordomo@localhost)
by odie.barnet.ac.uk (8.8.6/8.8.6) id MAA19192
for acornet-list; Fri, 22 Aug 1997 12:00:51 +0100
Received: from delenn.ecs.soton.ac.uk (snb94r@delenn.ecs.soton.ac.uk [152.78.67.42])
by odie.barnet.ac.uk (8.8.6/8.8.6) with SMTP id MAA19188
for <acornet@lists.barnet.ac.uk>; Fri, 22 Aug 1997 12:00:37 +0100
Received: from localhost ([127.0.0.1]) by delenn.ecs.soton.ac.uk with SMTP; Fri, 22 Aug 1997 11:02:25 GMT
Date: Fri, 22 Aug 1997 11:54:27 +0100
From: Stewart Brodie <snb94r@delenn.ecs.soton.ac.uk>
To: acornet@lists.barnet.ac.uk
Subject: Re: Acornet 0.20 - a few suggestions
Message-ID: <ca1e99bd47%snb94r@delenn.ecs.soton.ac.uk>
In-Reply-To: <4943bd47%esuvf@dial1221.dialup.warwick.ac.uk>
Organization: University of Southampton
X-Mailer: Messenger v1.02 for RISC OS
X-Posting-Agent: RISC OS Newsbase 0.59c
Sender: owner-acornet@lists.barnet.ac.uk
Precedence: bulk
Reply-To: acornet@lists.barnet.ac.uk
X-maillist: acornet
In message <4943bd47%esuvf@dial1221.dialup.warwick.ac.uk> you wrote:
> I'd already tried putting Acornet in a directory called Internet, and
> it worked fine... but, I just tried renaming my harddisc to
> 'IDEDisc4' too - and bootapps dies :-(
> Although for me it dies booting !SerialDev.
>
> As far as I can tell, this is some form of 'race' condition in ROS
> 3.1. It only seems to go wrong when done inside the bootapps program,
> and when done in at least the same order or something (ie. sticking a
> filer_boot ADFS::..blahblah...temp.!SerialDev at the beginning of
> Bootapps didn't produce an error, and in fact enabled boots to
> happily continue and get past serial dev, and then dies on !WebHelper
> instead.
>
> I'm at a lost to explain why, or to suggest a solution other than
> renaming the directory. Perhaps someone who knows more about these
> sorts of things than me could shed some light?
This is a complete stab in the dark, but it's a daft problem that I've hit in
the past and if it turns out to be your problem too, you'll never find it
easily :-)
What rings a bell is the changing of the directory names making it work ...
Obviously the actually name of the directory cannot affect the working of
the applications unless that the pathnames have been hardwired in. This
would seem to imply that pathnames of a particular *length* are causing
problems - perhaps when they are an exact multiple of four. Check all the
length limited string handling in the program. If, for example, you were to
say:
const int length = strlen(s1);
char *const p = calloc(1, length);
memcpy(p, s1, length);
Then this would work[1] *UNLESS* the length of s1 was an exact multiple of
four. This is just a consequence of the way that the C library's malloc code
will round up the size to the nearest multiple of four and zero all of the
data hence giving you an implicit zero terminator without you realising it.
The only time when this wouldn't work would be if the length was already a
multiple of four.
Given that a previous correspondent mentioned that changing the disc name
solved the problem too, this would seem to fit in with my suggestion too.
[1] Potentially - officially it's undefined behaviour.
--
Stewart Brodie, Electronics & Computer Science, Southampton University.
http://www.ecs.soton.ac.uk/~snb94r/